ヘッダーをスキップ
Oracle TimesTen In-Memory Databaseアーキテクチャ概要
リリース6.0
B25763-01
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

キャッシュ・グループのロードと更新

Oracleのデータは、最初にTimesTenにロードされキャッシュ・グループに移入されます。キャッシュ・グループへのロードが終了したら、そのキャッシュ・データは、TimesTenキャッシュ・グループとOracleデータベースのいずれでも更新できます。Cache Connectでは、キャッシュ・グループからOracleへの更新の伝播とOracleからキャッシュ・グループへのリフレッシュを、いずれも自動的に実行できます。

図9.2 データのロードおよび更新の伝播/リフレッシュ

OracleからTimesTenへの更新(リフレッシュ)

次のメカニズムを使用して、TimesTenキャッシュ・グループを、Orable実表の最新状態と同じ状態に維持できます。

TimesTenからOracleへの更新(伝播)

TimesTenキャッシュ・グループで更新されるデータについては、次のメカニズムを使用することで、Oracleデータベースの状態を最新のキャッシュ・グループと同じ状態に維持できます。

PROPAGATEオプションを有効にすると、キャッシュ・グループに対するすべての変更が自動的にOracleデータベースに伝播されます。PROPAGATEオプションが有効になっている1つ以上のキャッシュ・グループ、またはSWTキャッシュ・グループの1つ以上のキャッシュ・グループを変更したトランザクションをアプリケーションで終了した場合、TimesTenはまずOracleでトランザクションをコミットし、次にTimesTenでコミットします。この方法では、Oracleが常に最新のデータのイメージを反映できるように、データがTimesTenでコミットされる前に、Oracleはデータに関係する必要なロジックを適用できます。PROPAGATEオプションまたはSWTキャッシュ・グループは、キャッシュとOracleを常に同期する必要がある場合に使用します。

AWTキャッシュ・グループへの変更は、Oracleへの適用を待機せずにコミットされます。AWTキャッシュ・グループは、レスポンス時間が短くパフォーマンスも良好ですが、変更は非同期でOracleに適用されるため、キャッシュとOracleのデータは必ずしも同一ではありません。

パススルー機能

TimesTenアプリケーションでは、TimesTenへの単一接続を介して、TimesTenキャッシュ・グループまたはOracleデータベースのいずれかにSQL文を送信できます。このような単一接続は、図9.3に示すパススルー機能で、SQL文はTimesTenのキャッシュ表でローカルに処理できるのか、またはOracleに転送する必要があるのかをチェックすることによって使用可能になります。パススルー機能の設定では、パススルーの対象とする文の種類とそれを実行する状況が指定されます。

図9.3 TimesTenパススルー機能

パススルー機能の具体的な動作は、データ・ストア属性PassThroughで制御されます。この動作は、PassThroughフラグを指定してttOptSetFlagプロシージャをコールすることで、プログラムで再設定できます。